import java.util.Arrays;
import java.util.Scanner;

/*
最小值
设计一个方法minOfTwoInt, 接收2个整型参数a和b, 返回二者的最小值.
 */
class Z1minOf2Int{
    public static void main(String[] args) {
        System.out.println(minOf2Int(3,6));
        System.out.println(minOf2Int(6,3));
        System.out.println(minOf2Int(600,39));
    }
    public static int minOf2Int(int a,int b){
//        int min = a>b?a:b;
//        return min;

        return a>b?b:a;
    }
}
/*
闰年
设计一个方法isLeapYear, 接收一个代表年份的整型参数year, 返回年份是否是闰年, 如果是闰年返回true, 否则返回false
 */
class Z2{
    public static void main(String[] args) {
        System.out.println(isLeapYear(2000));//true
        System.out.println(isLeapYear(2001));//false
        System.out.println(isLeapYear(2004));//true
    }

    public static boolean isLeapYear(int year){
        if(year%400==0 || year%100!=0&&year%4==0){
            return true;
        }else {
            return false;
        }
//        return false;
    }
}
/*
数组打印
设计一个方法printIntArr, 接收一个整型数组参数, 打印数组中每个元素的值.打印格式是 [值1, 值2, 值3, 值4]
不要使用Arrays
 */
class Z3{
    public static void main(String[] args) {
        printIntArr(new int[]{1,3,5,2,7});
        printIntArr(new int[3]);
    }

    public static void printIntArr(int[] arr) {
        String str = "[";
        for (int i = 0; i < arr.length; i++) {
//            if(i== arr.length-1){
//                //最后一个元素后面没有逗号
//                str += arr[i];
//            }else {
//                str += arr[i]+",";
//            }
            str += arr[i];
            if(i!= arr.length-1){
                //最后一个元素后面没有逗号
                str += ",";
            }
        }
        str += "]";
        System.out.println("str = " + str);
    }
}

class Z31 {
    public static void main(String[] args) {
        int[] a = {5,3,4,1,8,6,7};
        //System.out.println(Arrays.toString(a));
        printIntArr(a);
//        printIntArr(1,4,6,8);
    }

    public static void printIntArr(int... arr){
        System.out.println(arr);

        System.out.print("[");
        for(int i=0;i<arr.length;i++){
            if(i==arr.length-1){
                System.out.print(arr[i]);
            }else {
                System.out.print(arr[i] + ",");
            }
        }
        System.out.print("]");
    }
}
/*
插入数据
创建一个容量为10的整型数组，数组前7个元素分别是35, 22, 17, 41, 72, 29, 10。编写代码, 将66插入到下标为1的位置。
 */
class Z4{
    public static void main(String[] args) {
        int[] arr = {35, 22, 17, 41, 72, 29, 10,0,0,0};
        //从29开始往后复制，直到22复制过去
        for (int i = 6; i >= 1; i--) {
            arr[i+1] = arr[i];
        }
        arr[1] = 66;

//        Z31.printIntArr(arr);
        System.out.println(Arrays.toString(arr));
        System.out.println("=======");
        insertData(new int[]{1,2,3},1,0);
        insertData(new int[]{1,2,3,5,8,9},4,0);
    }

    //向指定位置插入数据
    public static void insertData(int[] arr,int pos,int target){
        for (int i = arr.length-2 ; i >=pos ; i--) {
            arr[i+1] = arr[i];
        }
        arr[pos] = target;

        System.out.println(Arrays.toString(arr));
    }
}

/*
限制用户输入内容
设计一个方法，获取用户输入的数据。要求用户必须输入0~9之间的数，如果不是，让用户重新输入，直到用户输入的内容合法。
 */
class Z5{
    public static void main(String[] args) {
        System.out.println(getInput0_9());
    }

    public static int getInput0_9() {
        Scanner sc = new Scanner(System.in);
        while (true){
            System.out.print("输入0-9：");
            int num = sc.nextInt();
            if(num>=0 && num<=9){
                return num;
//                break;
            }
            System.out.println("输入错误，重新输入！");
        }
    }
}